//Init module if you need
let map
let stack = [] // 保存这个字符流中出现一次的数字
function Init()
{
    // write code here
    map = new Map()
}
//Insert one char from stringstream
function Insert(ch)
{
    // write code here
    if(map.get(ch)){
      map.set(ch,map.get(ch)+1)
      var index = stack.indexOf(ch) // 获得ch在stack里面的位置
      if(index > -1){ // 如果这个ch在这个stack里面有
        stack.splice(index,1) // 就把这个删除   
        // 这个就是说 有的话就出现两次 出现两次就删除掉这个数 
      }
    }else{
      map.set(ch,1)
      stack.push(ch) // 第一次把第一个元素放进去
    }
}
//return the first appearence once char in current stringstream
function FirstAppearingOnce()
{
    // write code here
    return stack.length > 0 ? stack[0] : '#'
}

module.exports = {
	Init : Init,
    Insert : Insert,
    FirstAppearingOnce: FirstAppearingOnce
};